package com.cxhc.system.mapper.app;


import com.cxhc.system.domain.app.CmAreaInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 楼宇信息Mapper接口
 * 
 * @author Dhq
 * @date 2024-08-14
 */
public interface CmAreaInfoMapper 
{

    /**
     * 更新楼宇企业数量
     *
     * @param ID 楼宇信息主键
     * @return 楼宇信息
     */
    public CmAreaInfo selectCmAreaInfoByID(Long ID);

    /**
     * 查询楼宇信息列表
     * 
     * @param cmAreaInfo 楼宇信息
     * @return 楼宇信息集合
     */
    public List<CmAreaInfo> selectCmAreaInfoList(CmAreaInfo cmAreaInfo);

    /**
     * 查询楼宇信息列表
     *
     * @return 楼宇信息集合
     */
    public List<Map<String,String>> selectCmAreaInfoListForCockpit();

    /**
     * 查询楼宇信息列表
     *
     * @return 楼宇信息集合
     */
    public String selectCount(CmAreaInfo cmAreaInfo);

    /**
     * 新增楼宇信息
     * 
     * @param cmAreaInfo 楼宇信息
     * @return 结果
     */
    public int insertCmAreaInfo(CmAreaInfo cmAreaInfo);

    /**
     * 修改楼宇信息
     * 
     * @param cmAreaInfo 楼宇信息
     * @return 结果
     */
    public int updateCmAreaInfo(CmAreaInfo cmAreaInfo);

    /**
     * 楼宇人员数量加一
     *
     * @return 结果
     */
    public int updateUserCount(@Param("id") Long id);

    /**
     * 楼宇人员数量加一
     *
     * @return 结果
     */
    public int updateEntCount(@Param("id") Long id);

    /**
     * 楼宇人员数量减一
     *
     * @return 结果
     */
    public int updateUserCountSub(@Param("id") Long id);

    /**
     * 楼宇人员数量减一
     *
     * @return 结果
     */
    public int updateEntCountSub(@Param("id") Long id);

    /**
     * 删除楼宇信息
     * 
     * @param ID 楼宇信息主键
     * @return 结果
     */
    public int deleteCmAreaInfoByID(Long ID);

    /**
     * 批量删除楼宇信息
     * 
     * @param IDs 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCmAreaInfoByIDs(Long[] IDs);
}
